package cn.yzgy.yzgyoa.ucenter.service;

import cn.yzgy.yzgyoa.ucenter.dto.MenuItemDto;
import cn.yzgy.yzgyoa.ucenter.entity.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
 * <p>
 * 菜单表，用于储存系统中的菜单，权限等信息 服务类
 * </p>
 *
 * @author Yqsen
 * @since 2019-08-27
 */
public interface ISysMenuService extends IService<SysMenu> {

    /**
     * 获取用户权限可以访问到的树状菜单对象
     * @param permissions 权限集合
     * @return 用户可以访问的菜单
     */
    List<SysMenu> getUserTreeSysMenu(Set<String> permissions);

    /**
     * 删除菜单项
     *
     * @param mId 菜单ID
     * @return 删除结果
     */
    int deleteMenuItem(int mId);

    /**
     * 更新菜单项
     * @param menuItemDto 菜单项DTO
     * @return 影响条目
     */
    int updateMenu(MenuItemDto menuItemDto);

    /**
     * 新增菜单项
     * @param menuItemDto 菜单项DTO
     * @return 插入条数
     */
    int addNewMenu(MenuItemDto menuItemDto);
}
